CLU ist eine Programmiersprache, die zwischen 1974 und 1975 am Massachusetts Institute of Technology von Barbara Liskov und ihren Studenten entwickelt wurde. CLU war laut Liskov die erste implementierte Programmiersprache, die eine direkte sprachliche Unterstützung für Datenabstraktion bot, welches ein Schlüsselelement in der Entwicklung der objektorientierten Programmiersprachen war.
Die Idee zur Datenabstraktion kam im Zuge von Arbeiten zur Programmiermethodologie auf. Das primäre Ziel des Projekts, welches zur Entwicklung von CLU führte, war die Forschung zur Programmiermethodologie voranzutreiben. Gemäß eigenen Angaben sahen die Entwickler der Sprache ihr Ziel nicht in der Verbreitung derselben, sondern eher in der Verbreitung der Konzepte zur Softwareentwicklung; die in CLU umgesetzt wurden. Ihren Erfolg bemaßen sie im Einfluss, den ihre Publikationen auf der Entwicklung zukünftiger Programmiersprachen und ihrer Anwendung in der Praxis haben sollten. CLU erhielt somit einen symbolischen Charakter. Die Entwicklung von CLU wurde von der DARPA und der National Science Foundation unterstützt.
CLU ist nicht auf sogenannte low-level Programmierung ausgelegt, die man z. B. bei der Entwicklung von Betriebssystemen und ihren Komponenten anwendet. Die Sprache sollte erfahrene Programmierer ansprechen. Obwohl sie nicht als Lernsprache zu akademischen Zwecken wie Pascal gedacht ist, lässt sie sich auch als solche nutzen. CLU favorisiert die Lesbarkeit und Verständlichkeit von Softwaresystemen gegenüber der Einfachheit, funktionierenden Kode schreiben zu können. Es ist technisch gesehen als Werkzeug zur Entwicklung im großen Stil gedacht. Dabei wurde der Schwerpunkt auf der Entwicklung von großen Softwaresystemen gelegt, die mehrere Entwickler benötigen und deren Umfang mehrere tausend bis hunderttausend Zeilen Kode beinhaltet.